const excelData = {
  header: ['手机号', '姓名', '入职日期', '转正日期', '工号'],
  results: [
    {
      手机号: 13041139879,
      姓名: '高大山',
      入职日期: 43535,
      转正日期: 43719,
      工号: 20089,
    },
    {
      手机号: 13041130789,
      姓名: '高小山',
      入职日期: 43535,
      转正日期: 43719,
      工号: 20099,
    },
    {
      手机号: 13041119799,
      姓名: '高老山',
      入职日期: 43535,
      转正日期: 43719,
      工号: 20189,
    },
  ],
};

const keyMap = {
  手机号: 'mobile',
  姓名: 'username',
  入职日期: 'timeOfEntry',
  转正日期: 'correctionTime',
  工号: 'workNumber',
};

// const users = [];
// for (const v of excelData.results) {
//   const obj = {};
//   for (const v2 of excelData.header) {
//     const enKey = keyMap[v2];
//     const value = v[v2];
//     obj[enKey] = value;
//   }
//   users.push(obj);
// }

// console.log(users, 'users');

// 1. 先用 JSON.stringify 把 results 转换成 字符串
// 2. 然后 用正则 替换 字符串中的 中文 的键 ==> 英文的键
// 3. 然后再用 JSON.parse 将字符串 转换成 数组

const resultsJSONStr = JSON.stringify(excelData.results);

for (const [zhKey, enKey] of Object.entries(keyMap)) {
  // new RegExp(`"${zhKey}":`, 'g')
  // 第一个参数表示正则的规则文本（不需要左右的两个斜杠）
  // 第二个参数表示正则的修饰符：g i m
  resultsJSONStr = resultsJSONStr.replace(new RegExp(`"${zhKey}":`, 'g'), `"${enKey}":`);
}
const users = JSON.parse(resultsJSONStr);
console.log(users);

// 可以美化输出
// JSON.stringify(excelData.results, null, 2);
